<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<script>
jsTestIsAsync = true;
description("Removing animated use target indirectly from the document should not cause crash.");

function loadedSVGToBeMoved()
{
    debug("loaded SVG to be moved");

    moveFromOtherToLocal();
}

var count = 0;
function moveFromOtherToLocal()
{
    if (++count > 3)
        finishJSTest();

    var source = document.getElementById("otherWindow").contentDocument;
    var defs = source.getElementById("defs");

    var target = document.getElementById("localWindow");
    target.appendChild(defs);

    debug("other -> local");
    window.requestAnimationFrame(moveFromLocalToOther);
}

function moveFromLocalToOther()
{
    var source = document.getElementById("localWindow");
    var defs = source.getElementById("defs");

    var target = document.getElementById("otherWindow").contentDocument.documentElement;
    target.appendChild(defs);

    debug("local -> other");
    window.requestAnimationFrame(moveFromOtherToLocal);
}
</script>
<iframe id="otherWindow" src="resources/svg-with-animate-use.svg" onload="loadedSVGToBeMoved()"></iframe>
<svg id="localWindow">
  <use xlink:href="#template" />
</svg>
<p>Test pass if no crash.</p>
